package com.offcn.mapper;

import com.offcn.pojo.QueryVo;
import com.offcn.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface UserMapper2 {

    /**
     * 查询user表的所有数据
     * @return
     */
    public List<User> selectUser1();

    /**
     *根据id进行数据查询
     * @param id
     * @return
     */
    public User findById(Integer id);

    /**
     * 保存方法
     * @param user 携带添加的数据信息
     */
    public void saveUser(User user);

    /**
     * 修改user对象
     * @param user
     */
    public void updateUser(User user);

    /**
     * 根据id删除指定的user
     * @param id
     */
    public void deleteUser(Integer id);

    /**
     * 根据name进行模糊查询
     * @param name
     * @return
     */
    public List<User> likeSearcherUsers(String name);

    /**
     * 根据名称查询，输入性参数是pojo复杂类型
     * @param queryVo
     * @return
     */
    public List<User> queryUser(QueryVo queryVo);

    /**
     * 需求：根据名称和年龄进行查询
     * 查询条件封装到map集合中
     * @param map
     * @return
     */
    public List<User> queryMapUser(Map<String,Object> map);

    /**
     * mybatis的多参数处理
     * @param name
     * @param age
     * @return
     */
    public List<User> queryParamUser(@Param("name") String name,@Param("age")Integer age);

    /**
     * 基本类型：统计所有记录数
     * @return
     */
    public int getRecords();

    /**
     * 实体类：查询所有的记录
     * @return
     */
    public List<User> getUsers();

    /**
     *根据id进行数据查询
     * @param id
     * @return
     */
    public User findById2(Integer id);





}
